home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
081-090
/
amok87
/
statistik
/
liesmich
< prev
next >
Wrap
Text File
|
1993-11-04
|
4KB
|
132 lines
Statistik
=========
(C) dec/92 by Matthias Scherrer
Zuerst das Uebliche: Statistik darf nur als Komplett-Packet weitergegeben
werden, d.h. alle Sourcen und die Dokumentation muessen dabei sein.
Statistik darf nicht kommerziell genutzt werden, und es darf damit kein
Gewinn gemacht werden.
Sinn und Zweck
==============
Immer wieder muss man z.B. gemessene oder gerechnete Werte auswerten.
Statistik hilft hier. Die wichtigsten Werte wie Mittelwert, Streuung und
Regression werden aus einem ARRAY berechnet.
Gebrauch
========
a.) Statistik.mod
Das Modul Statistik stellt nur eine Procedure zur Verfuegung:
PROCEDURE DoStat*(VAR x: stat; d: ARRAY OF ARRAY OF LONGREAL);
x ist dabei vom Type stat (gleich mehr dazu), in dem zweidimensionalem
ARRAY stehen die gemessenen/berechneten Werte.
Der Type stat sieht so aus:
TYPE stat* = RECORD
n* : INTEGER; (* Anzahl Werte *)
Ex*,Ey*, (* Summe x,y *)
maxx*,minx*, (* Groesstes/kleinstes x/y *)
maxy*,miny*,
Ex2*,Ey2*, (* Summe x^2,y^2 *)
Exy*, (* Summe x*y *)
mx*, my*, (* Mittelwert *)
sx*,sy*, (* Streuung x,y *)
b*,c*, (* lin.Regression y=b*x+c *)
sb*,sc*, (* Streuung b,c *)
r* : LONGREAL; (* Korrelationskoeffizient *)
END;
b.) ReadDat.mod
Um den Gebrauch zu vereinfachen, habe ich noch das ReadDat.mod beigelegt,
dass mehr oder weniger ein (brauchbares) Abfallprodukt ist. Auch das
ReadDat.mod stellt nur eine Procedure zur verfuegung:
PROCEDURE ReadDatas*(rf: ARRAY OF CHAR;
VAR d: ARRAY OF ARRAY OF LONGREAL): INTEGER;
Das 'rf' ist der Filename (inkl. Device und Path falls gewuenscht). das
'd' kann man nachher dem Statistik Modul uebergeben. Als Rueckgabewert
erhaelt man die Anzahl der Daten, die gelesen wurden.
Der Aufbau des Datenfiles ist sehr einfach:
x1,y1
x2,y2
.
.
.
xn,yn
Anstelle eines Kommas kann man auch ein (oder mehrere) Spaces schreiben.
Kommas sind aber besser, da das GNUPlot auch Kommas benutzt.
ACHTUNG! Es sind maximal 499 Eintraege erlaubt!
c.) DoStat.mod
Dies ist ein Demo-Programm. Es liest mittels des ReadDat.ReadDatas Werte
aus einem ASCII-File. Danach werden mittels dem Statistik.DoStat alle
Werte berechnet. Schlussendlich werden die Werte ausgegeben. Die Ausgabe
kann natuerlich in ein File umgelenkt werden.
Syntax: DoStat filename
Z.B.: DoStat dh0:Physik/beispiel.dat >t:auswertung
ACHTUNG! Compiliert wurde alles mit der Option -38, also fuer 68030/FPU.
Besitzer eines kleineren Prozessors muessen nochmals compilieren.
GNUPlot
=======
Fuer die grafische Darstellung ist das GNUPlot ideal (zu finden auf
Fish-Disks). Das ASCII File, dass auch das DoStat benoetigt, kann im
GNUPlot mit
Plot "dh0:Physik/beispiel.dat"
ausgegeben werden. Die Regressionsgerade mittels:
Plot b*x+c
Wobei b die Steigung und c der y-Achsenabschnitt ist, den das DoStat
berechnet hat.
Das ganze kann danach in Vielfaeltigerweise ausgegeben werden (HPGL, EEPIC,
PostScript usw..)
Mehr zum GNUPlot steht in der Dokumentation dazu.
Adresse
=======
Falls Fehler oder Verbesserungsvorschlaege auftauchen, schreibt mir. Wenn
ihr den Source abaendert, lasst es mich bitte wissen. Der Autor (ich) ist
auch nicht gegen Geldspenden oder sonstigen Support abgeneigt :-).
Matthias Scherrer
Baselstrasse 63
4242 Laufen
Schweiz
FIDO: 2:301/707.10
Internet: e9178@ibb.ch (bis Sommer 1994)
-- 29/Dec/92 ms